package com.guoyansoft.controller;

import com.guoyansoft.config.R;
import com.guoyansoft.model.pojo.Manager;
import com.guoyansoft.model.pojo.Shop;
import com.guoyansoft.model.pojo.ShopManager;
import com.guoyansoft.model.service.MangerService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;
import java.util.Map;

/**
 * @author 刘耀诚
 * 店铺管理员业务控制器
 */
@RestController
@RequestMapping("/manager")
public class ManagerController {
    @Autowired
    private MangerService mangerService;

    /**
     * 新增管理员
     * @param
     * @return 响应结果
     */
    @RequestMapping("/save")
    public R goToHistory(Manager manager,Integer shopId){
        Shop shop =new Shop();
        shop.setId(shopId);
        return mangerService.save(new ShopManager(null,manager,shop,null));
    }

    /**
     * 修改管理员
     * @param shopManager
     * @return 响应结果
     */
    @RequestMapping("/modify")
    public R modify(ShopManager shopManager){
        return mangerService.modify(shopManager);
    }

    /**
     * 删除
     * @param id 主键
     * @return 响应结果
     */
    @RequestMapping("/drop")
    public R drop(Integer[] id){
        return mangerService.drop(id);
    }

    /**
     * 多条件分页展示
     * @param curPage 当前页
     * @param pageSize 每页记录数
     * @return 响应数据
     */
    @RequestMapping("/queryByPage")
    public R queryByPage(Integer curPage,Integer pageSize){
        Map<String,Object> map=new HashMap<>();
        map.put("startIndex",(curPage-1)*pageSize);
        map.put("pageSize",pageSize);
        return mangerService.queryByPage(map);
    }

    /**
     * 店铺管理登录
     * @param manager 管理员
     * @return 响应数据
     */
    @RequestMapping("/login")
    public R login(Manager manager){
        return mangerService.queryOfLogin(manager);
    }

    /**
     * 店铺管理登录
     * @param managerId 管理员
     * @return 响应数据
     */
    @RequestMapping("/queryShop")
    public R queryShop(Integer managerId){
        return mangerService.queryShop(managerId);
    }


    /**
     * 查询所有管理员
     *
     */
    @RequestMapping("/selectById")
    public R selectById(Integer shopId){
        Map<String,Object> params=new HashMap<>();
        params.put("shopIdKey",shopId);
        return mangerService.selectByshopId(params);
    }
}
